<template>
  <view>
    <button open-type="getUserInfo" @getuserinfo="getUserInfoByBtn" type="primary">微信登录</button>
  </view>
</template>

<script>
  export default {
    onLoad() {
      this.getUserInfoByApi()
    },
    methods: {
      // 使用API 获取用户信息
      async getUserInfoByApi() {
        const [err,scopeInfo] = await uni.getSetting()
        if (!err) {
          if (scopeInfo.authSetting['scope.userIfon']) {
            // 如果用户授权了 -->获取个人信息
          uni.getUserInfo({
          success:(res)=> {
            console.log(res);
            this.login(res)
          }
        })
      }
    }
  },

      // 通过button方式获取用户信息
      getUserInfoByBtn(res) {
        console.log('微信用户信息',res.detail);
        this.login(res.detail)
      },
      // diao用登录接口
      async login(userInfo) {
        // 获取用户登录凭证
        const [err,dataCode] = await uni.login()
        console.log('用户登录凭证',err,dataCode,userInfo);

        // 获取用户信息
        const {encryptedData,iv,rawData,signature} = userInfo

        const{ msg,data } = await this.request({
          url:'/users/wxlogin',
          method:'post',
          data:{
            // 用户凭证
            code: dataCode.code,

            // 用户信息
            encryptedData,iv,rawData,signature
          }
          })
          console.log('登录111111111111',msg,data);
          if (msg.status === 200) {
            // token存储到本地
            uni.showToast({
              title: '登录成功',
              duration: 2000,
              success: () => {
            // 返回上一个页面
            uni.navigateBack()
              }
            })
            return uni.navigateTo('hm_token',data.token)
          }
      }
    }
  }
</script>

<style lang="scss" scoped>
  button {
    width: 600rpx;
    margin: 200rpx auto 0;
  }
</style>